﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Aga.Psad.Backend.Entities;

namespace Aga.Psad.Backend.Repositories
{
    public class AuditoriaRepository : RepositoryBase<Auditoria>
    {

        public void Auditar(string userName, AccionAuditoria accionAuditoria)
        {
            Auditar(userName, accionAuditoria, null);
        }

        public void Auditar(string userName, AccionAuditoria accionAuditoria, string detalle)
        {
            try
            {
                Auditoria audit = new Auditoria
                {
                    Usuario = userName,
                    Accion = accionAuditoria,
                    Fecha = DateTime.Now.ToUniversalTime(),
                    Detalle = detalle
                };

                Save(audit);
            }
            catch (Exception ex)
            {
                // ToDo: Log this exception
            }
        }

        public List<Auditoria> GetByMes(int mes)
        {
            return (from a in DC.Auditorias
                             where a.Fecha.Month == mes
                             select a).ToList();
        }
    }
}
